Connectivity Software User's Guide and Reference
GetRequiredServiceNonNull<TService>(IServiceProvider) Method



OpcLabs.BaseLib Assembly > OpcLabs.BaseLib.Extensions Namespace > IServiceProviderExtension2 Class > GetRequiredServiceNonNull Method : GetRequiredServiceNonNull<TService>(IServiceProvider) Method
The type of service object to get.
The service provider.

The value of this parameter cannot be null (Nothing in Visual Basic).

Gets the required service object of the specified type, casting it to the same type.
Syntax
'Declaration
 
<ExtensionAttribute()>
<JetBrains.Annotations.NotNullAttribute()>
Public Overloads Shared Function GetRequiredServiceNonNull(Of TService)( _
   ByVal serviceProvider As IServiceProvider _
) As TService
'Usage
 
Dim serviceProvider As IServiceProvider
Dim value As TService
 
value = IServiceProviderExtension2.GetRequiredServiceNonNull(Of TService)(serviceProvider)
[Extension()]
[JetBrains.Annotations.NotNull()]
public static TService GetRequiredServiceNonNull<TService>( 
   IServiceProvider serviceProvider
)
[Extension()]
[JetBrains.Annotations.NotNull()]
public:
static TService^ GetRequiredServiceNonNullgeneric<typename TService>
( 
   IServiceProvider^ serviceProvider
) 

Parameters

serviceProvider
The service provider.

The value of this parameter cannot be null (Nothing in Visual Basic).

Type Parameters

TService
The type of service object to get.

Return Value

A service object of type TService.

This method never returns null (Nothing in Visual Basic).

Exceptions
ExceptionDescription

A null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

A method call was invalid for the object's current state.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

An operation was performed on a disposed object.
Remarks

This is functionally based on the GetRequiredServiceNonNull(IServiceProvider,Type), but provides a strongly typed result, while removing the need to specify the type using the typeof keyword at the same time.

This is an extension method (info: C#, VB.NET). In languages that have support for extensions methods (such as C# and VB.NET), you can use the extension method as if it were a regular method on the object that is its first parameter. In other languages (such as with Python.NET), you will call the extension as a static method, and pass it the object on which it acts as its first parameter.

Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows

See Also